﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;

namespace LOMBARDISPICK.Model.Infrastructure
{
	public interface IRepository<T> where T : class
	{
		LombardisPickEntities getDataContext();
		void add(T entity);
		void update(T entity);
		void delete(T entity);
		void delete(Expression<Func<T, bool>> where);
		T getById(long Id);
		T getById(string Id);
		T get(Expression<Func<T, bool>> where);
		IEnumerable<T> getAll();
		IEnumerable<T> getMany(Expression<Func<T, bool>> where);
	}
}
